/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package dominio;

import disco.HandlerDisk;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author halt
 */
public class GestorSesiones implements Serializable{
    private List<Sesion> listSesion;
    HandlerDisk hd;

    public GestorSesiones() {
        listSesion = new ArrayList<Sesion>();
        hd = new HandlerDisk();
    }

    public Object[][] recuperarSesiones(int dia, int mes, int ano) {
        Object [][] datos = null;
        for (int i = 0; i < listSesion.size(); ++i) {
            Sesion s = buscarSesion(dia,mes,ano);
            datos = new Object[listSesion.size()][4];
            datos[i][0] = s.getHora();
            datos[i][1] = s.getNumCliente();
            datos[i][2] = s.getPrecioSesion();
            datos[i][3] = s.getRealizada();
        }
        return datos;
    }


    Sesion buscarSesion(int dia, int mes, int ano) {
        Sesion s = null;
        for (int i = 0; i < listSesion.size(); ++i) {
            if (dia == listSesion.get(i).getDia() &&
                    mes == listSesion.get(i).getMes() &&
                    ano == listSesion.get(i).getAno()) {
                s = listSesion.get(i);
            }
        }
        return s;
    }

    public void crearSesion(String fecha, String hora, int numCliente) {
        Sesion s = new Sesion();
        String sfecha[] = new String[3];
        sfecha = fecha.split("/");
        int ifecha[] = new int[3];
        ifecha[0] = Integer.parseInt(sfecha[0]);
        ifecha[1] = Integer.parseInt(sfecha[1]);
        ifecha[2] = Integer.parseInt(sfecha[2]);
        s.setDia(ifecha[0]);
        s.setMes(ifecha[1]);
        s.setAno(ifecha[2]);
        s.setHora(hora);
        s.setIdSesion();
        if(numCliente != -1) s.setNumCliente(numCliente);
        salvarSesiones();
    }

    public GestorSesiones cargarSesiones() throws FileNotFoundException, IOException, ClassNotFoundException {
            return hd.cargarSesiones();
    }

    void salvarSesiones() {
        hd.salvarSesiones(this);
    }
}
